import logging
import io

class Utils:
    def __init__(self):
        pass

    @staticmethod
    def logger(log_file, log_level=logging.DEBUG):
        """
        设置日志记录器，将日志保存到指定的文件中。

        :param log_file: 日志文件的路径
        :param log_level: 日志级别，默认为DEBUG
        :return: 配置好的日志记录器
        """
        # 创建日志记录器
        logger = logging.getLogger(__name__)
        logger.setLevel(log_level)

        # 创建文件处理器，并设置日志级别
        ##file_handler = logging.FileHandler(log_file)
        file_handler = logging.StreamHandler(io.open(log_file, mode='a', encoding='utf-8'))
        file_handler.setLevel(log_level)

        # 创建日志格式器
        formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
        file_handler.setFormatter(formatter)

        # 将文件处理器添加到日志记录器
        logger.addHandler(file_handler)

        return logger
        # 示例用法
        # if __name__ == "__main__":
        #     log_file = "app.log"
        #     logger = setup_logger(log_file)
        #
        #     logger.debug("这是一条DEBUG级别的日志")
        #     logger.info("这是一条INFO级别的日志")
        #     logger.warning("这是一条WARNING级别的日志")
        #     logger.error("这是一条ERROR级别的日志")
        #     logger.critical("这是一条CRITICAL级别的日志")